AnĂ¡lise Descritiva - GeoLV

DistribuiĂ§Ă£o dos Indicadores

Vamos começar carrengando o banco de dados.

library(tidyverse)
library(knitr)
library(plotly)
data <- read_rds("banco.rds")

ApĂ³s, uma anĂ¡lise descritiva das variĂ¡veis.

data %>% 
  ggplot(mapping = aes(x = dispersion)) +
  theme_minimal() +
  geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 122 rows containing non-finite values (stat_bin).

data %>% 
  summarise(`1º Quartil` = round(quantile(dispersion, 0.25, na.rm = T), 6),
            `Mediana`    = round(quantile(dispersion, 0.50, na.rm = T), 6),
            `3º Quartil` = round(quantile(dispersion, 0.75, na.rm = T), 6),
            `Média`      = round(mean(dispersion, na.rm = T), 6),
            `Desvio PadrĂ£o` = sd(dispersion, na.rm = T)) %>% 
  kable(caption = "EstatĂ­stica descritiva da dispersĂ£o")
EstatĂ­stica descritiva da dispersĂ£o
1º Quartil Mediana 3º Quartil MĂ©dia Desvio PadrĂ£o
1.4e-05 0.000104 0.002448 0.008622 0.0322126
data %>% 
  ggplot(mapping = aes(x = clusters_count)) +
  geom_bar() +
  scale_x_continuous(breaks = seq(1, 6, by = 1))
## Warning: Removed 122 rows containing non-finite values (stat_count).

data %>% 
  ggplot(mapping = aes(x = providers_count)) +
  geom_bar() +
  theme_minimal() +
  scale_x_continuous(breaks = seq(1, 3, by = 1))
## Warning: Removed 122 rows containing non-finite values (stat_count).

DistribuiĂ§Ă£o dos Indicadores por MunicĂ­pio

data %>% 
  ggplot(mapping = aes(x = NM_LOCALIDADE, y = dispersion)) +
  geom_boxplot() + 
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 50, hjust = 1))
## Warning: Removed 122 rows containing non-finite values (stat_boxplot).

Nessa primeira imagem, temos os boxplots para a dispersĂ£o em cada cidade da regiĂ£o metropolitana de Curitiba. Observamos a presença de apenas duas observações com valor de dispersĂ£o acima do padrĂ£o. Uma na cidade de Pinhais e outra na cidade de SĂ£o JosĂ© dos Pinhais. De resto, apenas chama atenĂ§Ă£o a cidade de Rio Grande do Sul, onde a distribuiĂ§Ă£o da variĂ¡vel foi mais dispersa do que nas outras cidades.

data %>% 
  ggplot(mapping = aes(x = NM_LOCALIDADE, y = dispersion)) +
  geom_boxplot() + 
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 50, hjust = 1)) +
  ylim(c(0, 0.2))
## Warning: Removed 124 rows containing non-finite values (stat_boxplot).

A fim de melhor visualizar a difereça entre as cidades, neste imagem temos limitei o grĂ¡fico para o intervalo de dispersĂ£o (0, 0.2). Aparentemente temos dois padrões de distribuiĂ§Ă£o. De um lado, cidades que ficaram bem prĂ³ximas do 0 (ex. Curitiba, Campina Grande do Sul, Lapa) e de cidades que com um intervalo um pouco maior (Agudos do Sul, etc).

data %>% 
  group_by(NM_LOCALIDADE) %>% 
  summarise(MEDIA = mean(clusters_count, na.rm = T)) %>% 
  mutate(DESVIO_MEDIA = (((MEDIA - mean(MEDIA))/mean(MEDIA)) * 100)) %>% 
  ggplot(mapping = aes(x = NM_LOCALIDADE, y = DESVIO_MEDIA)) +
  geom_segment(aes(xend = NM_LOCALIDADE, yend = 0, color = DESVIO_MEDIA > 0), alpha = 0.8, size = 2) +
  geom_point(size = 2) +
  geom_hline(yintercept = 0) +
  coord_flip() +
  scale_color_discrete(labels = c("Negativo", "Positivo")) +
  theme_minimal() +
  theme(legend.position = "bottom") +
  labs(y = "Desvio Percentual em RelaĂ§Ă£o Ă  MĂ©dia (%)",
       x = "MunicĂ­pios",
       color = "DireĂ§Ă£o do Desvio",
       title = "Diferença de Quantidade de Clusters")

Ao observar a diferença de média de provedores

data %>% 
  group_by(NM_LOCALIDADE) %>% 
  summarise(MEDIA = mean(providers_count, na.rm = T)) %>% 
  mutate(DESVIO_MEDIA = (((MEDIA - mean(MEDIA))/mean(MEDIA)) * 100)) %>% 
  ggplot(mapping = aes(x = NM_LOCALIDADE, y = DESVIO_MEDIA)) +
  geom_segment(aes(xend = NM_LOCALIDADE, yend = 0, color = DESVIO_MEDIA > 0), alpha = 0.8, size = 2) +
  geom_point(size = 2) +
  geom_hline(yintercept = 0) +
  coord_flip() +
  scale_color_discrete(labels = c("Negativo", "Positivo")) +
  theme_minimal() +
  theme(legend.position = "bottom") +
  labs(y = "Desvio Percentual em RelaĂ§Ă£o Ă  MĂ©dia (%)",
       x = "MunicĂ­pios",
       color = "DireĂ§Ă£o do Desvio",
       title = "Diferença de Quantidade de Provedores")

data %>% 
  group_by(NM_LOCALIDADE) %>% 
  summarise(MEDIA_PROVEDORES = mean(providers_count, na.rm = T),
            MEDIA_CLUSTERS   = mean(clusters_count, na.rm = T)) %>% 
  ggplot(mapping = aes(x = MEDIA_PROVEDORES, y = MEDIA_CLUSTERS, label = NM_LOCALIDADE)) +
  geom_point()

data %>% 
  ggplot(mapping = aes(x = clusters_count, y = providers_count, color = log(dispersion))) +
  geom_point() +
  geom_jitter()
## Warning: Removed 122 rows containing missing values (geom_point).

## Warning: Removed 122 rows containing missing values (geom_point).

ggplotly()